//
//  HZZFAdapterRewardVideoAdAdapter.h
//  HZZFAdSDK-Adapter
//
//  Created by 早范 on 2025/2/24.
//

#import "HZZFAdapterCommonAdapter.h"
#import "HZZFAdapterRewardVideoAdRequestContext.h"
#import "HZZFAdapterRewardVideoCallBack.h"
#import "HZZFAdapterRewardVideoReportMark.h"


NS_ASSUME_NONNULL_BEGIN

@interface HZZFAdapterRewardVideoAdAdapter : HZZFAdapterCommonAdapter

@property (nonatomic, strong) HZZFAdapterRewardVideoAdRequestContext *requestContext;

@property (nonatomic, weak) id<HZZFAdapterRewardVideoCallBack> delegate;

- (instancetype)init NS_UNAVAILABLE;

- (instancetype)new NS_UNAVAILABLE;

- (instancetype)initWithPlatformPosModel:(HZZFAdSDKPosModel *)posModel
                                  userID:(NSString *)userID
                                  scenes:(NSDictionary *)scenes
                                 cacheId:(NSString *)cacheId
                       customLoadingPage:(BOOL)customLoadingPage
                            platformType:(NSString *)platformType videoMuted:(BOOL)videoMuted;

- (void)sendFinishReportWithMark:(HZZFAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendRewardReportWithMark:(HZZFAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendThreeQuarterReportWithMark:(HZZFAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendHalfReportWithMark:(HZZFAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendQuarterReportWithMark:(HZZFAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayStartReportWithMark:(HZZFAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayPauseReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlaySkipReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayRecoverReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayCloseReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayingMutedReportUrlList:(NSArray<NSString *> *)urlList;

@end

NS_ASSUME_NONNULL_END
